package com.lankystar.sos.dao;

import java.util.List;

import com.lankystar.sos.model.User;
import com.lankystar.sos.model.UserApprove;
import com.lankystar.sos.model.UserType;

/**
 * 用户接口
 * @author SYX
 *
 */
public interface IUserDao {

	Object[] selectUserByNameAndPass(String userPhone,String userPassword);
	
	Object[] selectUserApproveAndUserByUserId(Integer userId);
	/**
	 * 添加用户
	 * @param record
	 */
	void addUser(User record);
	
	void updateUser(User record);
	
	void updateUserApprove(UserApprove record);
	/**
	 * 根据id查找用户
	 * @param userId
	 * @return
	 */
	User selectUserById(Integer userId);
	Object[] selectUserAndUserlocationByUserphone(String userPhone);
	
	/**
	 * 添加用户认证
	 * @param record
	 */
	void addUserApprove(UserApprove record);
	
	/**
	 * 通过userkey查找用户类型
	 * @param userkey
	 * @return
	 */
	UserType selectUserTypeByuserkey(Integer userkey);
	/**
	 * 通过userId
	 * @param userkey
	 * @return
	 */
	Object[] selectUserMessageByUserId(Integer userId);
	
	/**
	 * 根据用户电话查找用户
	 * @param userPhone
	 * @return
	 */
	User selectUserByuserPhone(String userPhone);
	
	/**
	 * 根据经纬度查找所有附近的人
	 * @param longitude
	 * @param latitude
	 * @return
	 */
	List<Object[]> selectUserlist(int type, Double longitude,Double latitude);
	/**
	 * 根据求救者的经纬度查找所有附近的人
	 * @param type
	 * @param longitude
	 * @param latitude
	 * @return
	 */
	List<Object[]> selectNearUserlist(Integer type, Double longitude,Double latitude);
	
	/**
	 * 根据手机号查找求救记录
	 * @param userPhone
	 * @return
	 */
	List<Object[]> selectSosOrderByuserPhone(String userPhone);
}
